1. Field of the Invention
The present invention relates to a computer system and more particularly to a computer system including a computer set (see DEFINITIONS section) that provides operating system type capabilities for multiple terminals (see DEFINITIONS section).
2. Description of the Related Art
In some conventional computer systems, multiple operating systems run on a single set of processing hardware of a single computer. For example, in some conventional computer systems, a piece of software called a “hypervisor” controls the running of multiple operating systems, which operating systems are sometimes called “virtual machines.” In some conventional hypervisor-and-virtual-machine computer systems, the virtual machines are “containerized” in that each virtual machine runs substantially independently of the other virtual machine(s) that are run by the common hypervisor. The hypervisor effects its control of the virtual machines by “virtualizing,” or, in other words, emulating the actual, physical resources of the hardware upon which the hypervisor runs. By virtualizing the actual resources, the hypervisor can actually communicate with various resources of the computer (see DEFINITIONS section), on behalf of each containerized virtual machine, in series, which is to say, in some sort of time division multiplexed manner. At the same time, because the hypervisor communicates with the various, containerized virtual machines through code emulating virtualized hardware, each virtualized machines has no way of detecting the sharing of computer resources. Because of this, the virtualized machine operating systems do not need to be equipped to deal with the fact that they are sharing computer resources. This means that standard, pre-existing operating systems, such as WINDOWS operating systems or LINUX operating systems, may be used for each virtual machine operating system. (“WINDOWS” is used as a trademark of the Microsoft Corporation and may be subject to commonlaw and/or trademark-registration-based trademark rights in various jurisdictions throughout the world.)
Because hypervisors virtualize computer resources, they tend to require a lot of code and processing power in order to fully and accurately emulate the specific resources that they emulate. Furthermore, a given piece of hypervisor software must include code to emulate all of the resources of the computer system upon which it runs. If the hypervisor includes virtualization code for resources that its computer system does not have, then that is an inefficiency because those code portions cannot be allowed to be used by the virtual machines running on the hypervisor. Of more concern is the fact that the hypervisor might be missing code to run certain resources. In fact, if there is too bad of a mismatch between the resources that the hypervisor has code portions to emulate, and the actual resources of the computer system upon which it runs, then the computer system will be inoperable. In this sense, hypervisors tend to be either inefficient (that is, lots of extra code portions), or else inflexible and unrobust (that is, unable to accommodate a wide variety of computer systems having different combinations of resources).
The named inventor of the present application has developed a different kind of computer system for running multiple operating systems and/or multiple, containerized operating systems on a single computer. According to this system, the multiple operating systems communicate more directly with the actual resources of the computer system under the control of a module (for example, a piece of software) called a “controller kernel.” The concept of the controller kernel and various preferred embodiments of the computer systems utilizing such a controller kernel are more fully described in the following patent application documents: (i) Ser. No. 12/234,131 (filed Sep. 19, 2008 and published as publication number 2009-0083829 A1 on Mar. 26, 2009); (ii) Ser. No. 12/234,158 (filed Sep. 19, 2008 and published as publication number 2009-0083630 A1 on Mar. 26, 2009); (iii) Ser. No. 12/234,223 (filed Sep. 19, 2008 and published as publication number 2009-0083450 A1 on Mar. 26, 2009); and (iv) U.S. provisional patent application No. 60/973,923, filed on Sep. 20, 2007 (collectively, “Controller Kernel Background Documents”). The Controller Kernel Background Documents are hereby incorporated by reference in their respective entireties to the fullest extent allowed by law.
Some conventional computer systems include remote desktop software. As explained in the Wikipedia: “In computing, the term remote desktop refers to a software or an OS feature allowing graphical applications to be run remotely on a server, while being displayed locally. Remote desktop applications have varying features. Some allow attaching to an existing user's session (i.e. a running desktop) and ‘remote controlling’ it in front of the user's eyes. Taking over a desktop remotely is a form of remote administration. It can also be explained as remote control of a computer by using another device connected via the internet or another network. This is widely used by many computer manufacturers (DELL, HP etc.) and large businesses' help desk for technical troubleshooting of their customers. Windows XP, Vista, and Server 2003/2008 include Remote Desktop Services; Apple includes Screen Sharing with Mac OS X but sells its Apple Remote Desktop separately. Various professional third-party, open source and freeware remote desktop applications exist which are cross-platform and work various versions of Windows, Mac, and UNIX/Linux/BSD. The quality, speed and functions of any remote desktop protocol are based on the system layer where the graphical desktop is redirected. Software such as PC Anywhere, VNC and others use the top software layer to extract and compress the graphic interface images for transmission. Other products such as Microsoft RDP, Graphon GO-Global and others use a kernel driver level to construct the remote desktop for transmission.” (See, http://en.wikipedia.org/wiki/Remote_desktop_software version as of 27 Oct. 2009.)
Some remote desktop protocols include: (i) Virtual Network Computing (VNC), a cross-platform protocol; (ii) Remote Desktop Protocol (RDP), a Windows-specific protocol featuring audio and remote printing; (iii) Remote Frame Buffer Protocol (RFB), a frame buffer level cross-platform protocol that VNC is based on; (iv) Apple Remote Desktop Protocol (ARD), the original protocol for Apple Remote Desktop on Mac OS X machines; (v) NX technology (NX), a cross-platform protocol including audio and remote printing; (vi) Independent Computing Architecture (ICA), a proprietary protocol designed by Citrix Systems; (vii) X Window System (X11), a well-established cross-platform protocol mainly used for displaying local applications, but which can also be used remotely; (viii) Rapid X Protocol (RXP), the Graphon GO-Global protocol to communicate between the host and the client; (viii) Appliance Link Protocol (ALP), a Sun Microsystems-specific protocol featuring audio, remote printing, remote USB and accelerated video. However, it is believed that none of these remote desktop protocols are sent from or received by a controller kernel, and more specifically, none of them are sent from or received by a controller kernel having an interrupt loop. It is further believed that none of them encapsulate (or tunnel) frame buffers in their native form (see DEFINITIONS section) for the purposes of remote desktop software functionality.
Description Of The Related Art Section Disclaimer: To the extent that specific publications are discussed above in this Description of the Related Art Section, these discussions should not be taken as an admission that the discussed publications (for example, published patents) are prior art for patent law purposes. For example, some or all of the discussed publications may not be sufficiently early in time, may not reflect subject matter developed early enough in time and/or may not be sufficiently enabling so as to amount to prior art for patent law purposes. To the extent that specific publications are discussed above in this Description of the Related Art Section, they are all hereby incorporated by reference into this document in their respective entirety(ies).